Digital video systems have received wide acceptance in the past decade. Digital Video Broadcasting (DVB), Digital Video Disc (DVD), Digital Video Recorders, Distant Learning, Video on Demand, and Videoconferencing are some typical examples. The key technology that enables these applications is digital video coding, which compresses video while keeping video quality satisfactory. For example, with digital video coding techniques, one current NTSC terrestrial analog TV channel can transmit four to six Standard Definition Television (SDTV) programs, each of which generally provides better video quality than the current analog NTSC TV, or it can supports the broadcasting of one High Definition Television (HDTV) program [1].
Currently, there are many video coding standards established for different video applications e.g., H.263 for low bitrate video applications such as video phone and videoconferencing, Motion Photographic Experts Group (MPEG)-2 for high bitrate high quality applications such as digital TV broadcasting and DVD, and MPEG-4 for streaming video applications. As the digital video applications become more and more popular, there will be increasing amount of video contents encoded with various standards. For many real-time applications there are often needs to dynamically convert the video between different formats. The operation of converting a video in compressed format into another video also in compressed format is called video transcoding. A device that performs video transcoding is called a video transcoder. For example, a digital video program may originally be compressed in MPEG-2 at 9 Mb/s and stored in the server. A program provider transmits this program through a satellite channel to a cable-headend. However due to limited cable capacity, the cable-headend has to relay this incoming video onto a cable channel at a lower bit-rate, say 5 Mbits/s, also in the compressed MPEG-2 form. To achieve this, the headend can perform transcoding on the input video to lower its bitrate so that the video bit-stream can be transmitted via the cable channel. In fact, besides bit-rate adaptation, a transcoder can dynamically change any coding parameters of compressed video, including frame-rate, spatial resolution, video content and/or coding standard used.
MPEG-2 is a sequence of images played by a video player. Transcoding is a technique to adapt the rate of compressed MPEG-2 video bitstreams to dynamically varying bit rate constraints. Transcoding can also be applied to MPEG-1, MPEG-4, h.261, h.263 and h.26L. Because video is a sequence of still computer images played one after another, the approach provides an interface, or filter, between the input encoded bitstream and the network, with which the transcoder's output can be perfectly matched to the network's quality of service (QOS) characteristics.
The use of digital transmission formats is proliferating fast. The connection of several transmission media may give rise to the following problem. Suppose a content provider transmits, e.g., across a satellite link. The transmission is a compressed digital video signal, and this program is to be relayed, e.g., on a cable network.
The relayed signal must also be in the compressed format. The bit-rate of the digital video signal on the satellite link is R1 (Mbits/s) and the cable network has a limited capacity, such that the incoming program can only be relayed if its bit-rate is R2 (Mbit/s) or less. The problem is that the incoming compressed signal at a given bit-rate has to be converted into a compressed signal of a lower bit-rate. The specific transcoding problem of bit-rate conversion is addressed hereinbelow.
FIG. 1, is a prior art schematic block diagram of a basic configuration of a system including a transcoder. Generalizing the case, rate shaping is defined as an operation which, given an input compressed video bitstream and a set of rate constraints, produces another compressed video bitstream that complies with these constraints. If the rate constraints are allowed to vary with time, the operation is called dynamic rate shaping. The rate shaping operation is depicted in FIG. 1. Note that no communication path exists from the rate shaper to the source of the input bitstream, which ensures that no access to the encoder is necessary.
For a transcoder that makes a bit rate change, there are several solutions. Table 1 shows the algorithmic tools for three transcoding algorithms of different levels of complexity, T1, T2 and T3. These cases are covered by the generalized transcoder shown in FIG. 2.
TABLE IAlgorithmic toolsT1T2T3Q, VLD/VLC✓✓✓MCP, DCT/IDCT✓✓Motion estimation✓
T1 is the simplest transcoder. The direct cosine transform (DCT) coefficients of the input bitstream are variable length decoded (VLD), requantized (Q2) and variable length coded (VLC). The info-bus is modified to reflect any change in the quantizer parameters that are signalled in the bit stream. Additionally, the drift corrector in FIG. 2 is not used, i.e., the Δ-signal is set to zero. However, the latter leads to an additional reconstruction error on decoding caused by a drift between the decoder's prediction signal and the prediction signal used in the input bitstream. Drift errors occur in P-frames and B-frames, and can accumulate in P-frames until the next I-frame is transcoded. Therefore, the temporal distance of I-frames has an important impact on the visibility of drift-related artifacts. Due to its low complexity, T1 is a candidate for software-based implementation.
Drift can be completely avoided if the drift correction signal A is generated as shown in FIG. 3. FIG. 3 is a prior art drift corrector for T2. In this case the final reconstruction error depends on the quantization noise only, although there is a potential for a build-up of errors according to the number of transcoding stages. Thus, T2 is the natural choice for high-quality transcoding. However, there is a significant increase in complexity due to the direct cosine transform/inverse direct cosine transform (DCT/DCT) and motion compensating prediction (MCP) operations required, and much more processing power and memory is required.
Inherent to T1 and T2 is that the picture type, the coding decisions and the motion vectors are not changed from one transcoding generation to another. Although this is suitable for many applications, some require the algorithm T3, for example when an intra frame of a high bit rate needs to be transcoded to an inter frame of a lower bit rate. A frame is a single still image in a sequence of images that, when displayed in rapid succession, creates the illusion of motion. The more frames per second (fps), the smoother the motion appears.
Intra-frame compression is compression that reduces the amount of video information in each frame on a frame-by-frame basis. Inter-frame compression is a compression scheme, such as MPEG, that reduces the amount of video information by storing only the differences between a frame and those preceding it. An I-frame in inter-frame compression schemes is the key frame or reference video frame that acts as a point of comparison to P-frames and B-frames, and is not reconstructed from another frame. A B-frame is a highly compressed, bi-directional frame that records the change that occurred between the I-frame before and after it A P-frame is the predictive video frame that exhibits the change that occurred compared to the I-frame before it.
If motion vectors are not available in the previous generation, e.g., before compression or transcoding, and/or the prediction mode is changed, motion estimation has to be added. The corresponding elements in the info-bus are then changed accordingly in the drift corrector from one generation to another. The presence of quantization noise can impose additional problems for a motion estimator and existing methods that normally deal with original pictures may have to be reviewed.
Quantization and rate control are key elements for high-quality transcoding.
Therefore, there is a need for a device that overcomes the limitations of prior art transcoders and provides a method that solves the need for efficient compression of digital video bitstreams.